package org.peterf.foxish.component;

import org.peterf.foxish.camera.Camera;

/**
 * A drawing component.
 * 
 * @author peter
 * 
 */
public interface Presentable {

    /**
     * Time to create resources needed.
     */
    public void onCreate();

    /**
     * Time to release resources.
     */
    public void onDestroy();

    /**
     * Time for drawing.
     */
    public void onDraw(Camera camera, float elapsed);

    /**
     * Time to recreate OpenGL context related resources. This is called when
     * the lost context is being recovered.
     */
    public void onRecreate();

}
